[アップデート] AWS DataSyncがAmaozn FSx for NetApp ONTAPをサポートしました
簡単にFSx for ONTAPファイルシステムからS3バケットにデータ移行したいな
こんにちは、のんピ(@non____97)です。
皆さんは簡単にFSx for ONTAPファイルシステムからS3バケットにデータ移行したいなと思ったことはありますか? 私はあります。
FSx for ONTAPファイルシステムからS3バケットにファイルをコピーするパターンは以下の2つがあると考えます。
- Lambda関数でFSx for ONTAPファイルシステムのファイルを取得してS3バケットにアップロード
-
DataSync AgentがインストールされたEC2インスタンスを使ってS3バケットにアップロード
いずれのパターンの場合、以下のような懸念点があります。
- 1つ目のパターンの懸念点
- Lambda関数のローカルディスクが10GBなので、扱えるファイルサイズが10GBまで
- Lambda関数の最大実行時間が15分であるので、時間内にS3へのアップロードが完了しない場合がある
- 2つ目のパターンの懸念点
- DataSync AgentをインストールしたEC2インスタンスを管理する必要がある
2xlarge
以上のEC2インスタンスを起動させる必要があるため、コストがかかる
これは困った
頭を悩ませていると、AWS DataSyncがAmaozn FSx for NetApp ONTAPをサポートしたとアナウンスがありました。
DataSyncによるストレージサービス間のデータ転送にはDataSync Agentが不要なので、わざわざLambda関数やEC2インスタンスを用意する必要がなくなりました。
構成図は以下のようになります。
Lambda関数やEC2インスタンスを用意する必要がなくなったので、かなりシンプルになりました。
これはありがたい
早速試してみたので、紹介します。
いきなりまとめ
- DataSyncのロケーションにFSx for ONTAPファイルシステムを選択できるようになった
- DataSync AgentをインストールしたEC2インスタンスを用意しなくても、FSx for ONTAPファイルシステムとAWSのストレージ間でファイルコピーが可能
- FSx for ONTAPのスナップショットはコピーされない
- FSx for ONTAPファイルシステムからS3バケットにファイルをコピーする際はインターネットへのルートやVPCエンドポイントは不要
検証の環境
検証を行う環境の構成は以下の通りです。
Private SubnetのFSx for ONTAPファイルシステムとS3バケット間でファイルのコピーができることを確認します。
なお、FSx for ONTAPファイルシステムのサブネットのルートにはNAT GatewayやInternet Gatewayへのルートはありません。また、DataSyncのVPCエンドポイントも存在していません。
FSx for ONTAPファイルシステムからS3バケットへのファイルコピー
テスト用ファイルの作成
それでは、DataSyncを使ったFSx for ONTAPファイルシステムからS3バケットへのファイルコピーを行います。
まず、テスト用ファイルをFSx for ONTAPファイルシステムに作成します。
# FSx for ONTAPのSMB共有をマウントしていないことを確認 PS C:\Windows\system32> Get-PSDrive Name Used (GB) Free (GB) Provider Root CurrentLocation ---- --------- --------- -------- ---- --------------- Alias Alias C 15.56 14.44 FileSystem C:\ Windows\system32 Cert Certificate \ D 0.03 8.99 FileSystem D:\ E 0.03 8.99 FileSystem E:\ Env Environment Function Function HKCU Registry HKEY_CURRENT_USER HKLM Registry HKEY_LOCAL_MACHINE Variable Variable WSMan WSMan # FSx for ONTAPのSMB共有をマウント PS C:\Windows\system32> net use Z: \\SINGLE-AZ-SVM.fsx-dev.classmethod.jp\smb_encryption \\SINGLE-AZ-SVM.fsx-dev.classmethod.jp\smb_encryption のパスワードが無効です。 'SINGLE-AZ-SVM.fsx-dev.classmethod.jp' のユーザー名を入力してください: fsx-dev.classmethod.jp\FSxAdmin SINGLE-AZ-SVM.fsx-dev.classmethod.jp のパスワードを入力してください: コマンドは正常に終了しました。 # FSx for ONTAPのSMB共有をマウントされたことを確認 PS C:\Windows\system32> Get-PSDrive Name Used (GB) Free (GB) Provider Root CurrentLocation ---- --------- --------- -------- ---- --------------- Alias Alias C 15.56 14.44 FileSystem C:\ Windows\system32 Cert Certificate \ D 0.03 8.99 FileSystem D:\ E 0.03 8.99 FileSystem E:\ Env Environment Function Function HKCU Registry HKEY_CURRENT_USER HKLM Registry HKEY_LOCAL_MACHINE Variable Variable WSMan WSMan Z 0.00 0.95 FileSystem \\SINGLE-AZ-SVM.fsx-dev.classmet... # FSx for ONTAPのSMB共有をマウントしたドライブを確認 PS C:\Windows\system32> ls z: ディレクトリ: Z:\ Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 2022/05/28 12:39 aws-backup-test PS C:\Windows\system32> ls Z:\aws-backup-test\aws-backup-test.txt ディレクトリ: Z:\aws-backup-test Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 2022/05/25 0:23 36 aws-backup-test.txt # FSx for ONTAPのスナップショットが作成されていることを確認 PS C:\Windows\system32> ls Z:\.snapshot ディレクトリ: Z:\.snapshot Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 2022/05/28 12:39 backup-0b1a1f475e7f88a0b d----- 2022/05/25 0:21 daily.2022-05-27_0010 d----- 2022/05/25 0:21 daily.2022-05-28_0010 d----- 2022/05/28 12:39 every_10_min.2022-06-28_2140 d----- 2022/05/28 12:39 every_10_min.2022-06-28_2150 d----- 2022/05/28 12:39 every_10_min.2022-06-28_2200 d----- 2022/05/28 12:39 every_10_min.2022-06-28_2210 d----- 2022/05/28 12:39 every_10_min.2022-06-28_2220 d----- 2022/05/28 12:39 every_10_min.2022-06-28_2230 d----- 2022/05/25 0:21 hourly.2022-05-28_0305 d----- 2022/05/25 0:21 hourly.2022-05-28_0405 d----- 2022/05/25 0:21 hourly.2022-05-28_0505 d----- 2022/05/28 5:30 hourly.2022-05-28_0605 d----- 2022/05/28 5:30 hourly.2022-05-28_0705 d----- 2022/05/28 7:59 hourly.2022-05-28_0805 d----- 2022/05/28 7:59 manual_snapshot_2022-05-28_0910 d----- 2022/05/20 5:52 weekly.2022-05-22_0015 PS C:\Windows\system32> ls Z:\.snapshot\every_10_min.2022-06-28_2230 ディレクトリ: Z:\.snapshot\every_10_min.2022-06-28_2230 Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 2022/05/28 12:39 aws-backup-test # Z:\datasync-test にテストファイルを10個作成 PS C:\Windows\system32> cd z: PS Z:\> mkdir datasync-test ディレクトリ: Z:\ Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 2022/06/28 22:49 datasync-test PS Z:\> cd .\datasync-test\ PS Z:\datasync-test> (0..10) | foreach{ $format = "{0:000}" -f $_ $fileName = "datasync-test_$format.txt" $value = @" datasync-test_$format "@ New-Item -path . -ItemType "file" -Name $fileName -Value "$value" } ディレクトリ: Z:\datasync-test Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 2022/06/28 22:50 21 datasync-test_000.txt -a---- 2022/06/28 22:50 21 datasync-test_001.txt -a---- 2022/06/28 22:50 21 datasync-test_002.txt -a---- 2022/06/28 22:50 21 datasync-test_003.txt -a---- 2022/06/28 22:50 21 datasync-test_004.txt -a---- 2022/06/28 22:50 21 datasync-test_005.txt -a---- 2022/06/28 22:50 21 datasync-test_006.txt -a---- 2022/06/28 22:50 21 datasync-test_007.txt -a---- 2022/06/28 22:50 21 datasync-test_008.txt -a---- 2022/06/28 22:50 21 datasync-test_009.txt -a---- 2022/06/28 22:50 21 datasync-test_010.txt
S3バケットの作成
次に送信元のS3バケットを作成します。
リージョンはFSx for ONTAPファイルシステムと同じ東京リージョンに作成します。その他サーバーサイド暗号化以外はデフォルトの設定です。
作成したS3バケット内にオブジェクトが存在しないことを確認します。
DataSyncタスクの作成
下準備ができたのでDataSyncのタスクを作成します。
DataSyncのコンソールからタスク
-タスクを作成する
をクリックします。
送信元ロケーションの設定をします。
ロケーションを事前に作成していなかったので、新しくロケーションを作成します。
昨日まではロケーションタイプにAmazon FSx
を選択しても、FSx for ONTAPファイルシステムは表示されなかったのですが、選択できるようになっています。
SVMとマウントポイントには、先ほど作成したテスト用ファイルがあるSMB共有のSVMとジャンクションポイントを指定します。
セキュリティグループはFSx for ONTAPファイルシステムのセキュリティグループで送信元として許可しているセキュリティグループを選択しました。
プロコトルは今回はSMBにしました。SMBにした場合、認証用のユーザー設定を入力する必要があります。FSx for ONTAPファイルシステムにSMBでアクセスする際に使用するドメインユーザーの認証情報を入力します。
次に送信先ロケーションの設定をします。
ロケーションタイプをS3にして、先ほど作成したS3バケットを指定します。IAMロールはAutogenerate
をクリックして作成されるIAMロールを指定しました。
作成されたIAMロールのポリシーと信頼されたエンティティは以下の通りです。
- 許可ポリシー
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:GetBucketLocation", "s3:ListBucket", "s3:ListBucketMultipartUploads" ], "Effect": "Allow", "Resource": "arn:aws:s3:::datasync-test-fsxn-xxxx" }, { "Action": [ "s3:AbortMultipartUpload", "s3:DeleteObject", "s3:GetObject", "s3:ListMultipartUploadParts", "s3:PutObjectTagging", "s3:GetObjectTagging", "s3:PutObject" ], "Effect": "Allow", "Resource": "arn:aws:s3:::datasync-test-fsxn-xxxx/*" } ] }
-
信頼されたエンティティ
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "datasync.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "<AWSアカウントID>" }, "ArnLike": { "aws:SourceArn": "arn:aws:datasync:ap-northeast-1:<AWSアカウントID>:*" } } } ] }
次にタスクの各種設定を行います。
タスク名はfsxn-to-s3
にしました。なんとなく除外パターンも試してみたかったので、*._010.txt
を除外パターンとして追加しました。
タスクの実行は手動で行いたいので、定期的なスケジュールは設定しません。また、ファイルがコピーされたことをログからも確認したいので、転送されたすべてのオブジェクトとファイルをログに記録する
で設定して、CloudWatch Logsにログを出力するようにします。
最後に設定内容を確認します。問題なければタスクを作成する
をクリックします。
DataSyncタスクの実行
タスクの作成が完了したら、DataSyncタスクを実行します。
作成したDataSyncタスクを選択して、スタート
-デフォルトから開始する
をクリックします。
数分ほど待つと実行ステータスが成功
になりました。
CloudWatch Logsに出力されたログを確認してみます。
2022-06-29T08:10:43.595+09:00 [INFO] Request to start task-017f03c7f86b7902d. 2022-06-29T08:18:23.861+09:00 [INFO] Execution exec-0f82dc5ede24ddfc0 started. 2022-06-29T08:18:30.433+09:00 [NOTICE] Created directory /datasync-test 2022-06-29T08:18:30.661+09:00 [NOTICE] Created directory /aws-backup-test 2022-06-29T08:18:31.288+09:00 [NOTICE] Transferred file /datasync-test/datasync-test_008.txt, 21 bytes 2022-06-29T08:18:31.288+09:00 [NOTICE] Transferred file /datasync-test/datasync-test_010.txt, 21 bytes 2022-06-29T08:18:31.288+09:00 [NOTICE] Transferred file /datasync-test/datasync-test_009.txt, 21 bytes 2022-06-29T08:18:31.316+09:00 [NOTICE] Transferred file /datasync-test/datasync-test_001.txt, 21 bytes 2022-06-29T08:18:31.316+09:00 [NOTICE] Transferred file /datasync-test/datasync-test_007.txt, 21 bytes 2022-06-29T08:18:31.316+09:00 [NOTICE] Transferred file /datasync-test/datasync-test_005.txt, 21 bytes 2022-06-29T08:18:31.316+09:00 [NOTICE] Transferred file /datasync-test/datasync-test_006.txt, 21 bytes 2022-06-29T08:18:31.316+09:00 [NOTICE] Transferred file /datasync-test/datasync-test_003.txt, 21 bytes 2022-06-29T08:18:31.316+09:00 [NOTICE] Transferred file /datasync-test/datasync-test_000.txt, 21 bytes 2022-06-29T08:18:31.316+09:00 [NOTICE] Transferred file /datasync-test/datasync-test_004.txt, 21 bytes 2022-06-29T08:18:31.316+09:00 [NOTICE] Transferred file /datasync-test/datasync-test_002.txt, 21 bytes 2022-06-29T08:18:31.316+09:00 [NOTICE] Transferred file /aws-backup-test/aws-backup-test.txt, 36 bytes 2022-06-29T08:18:31.594+09:00 [NOTICE] Transferred directory metadata / 2022-06-29T08:18:31.594+09:00 [NOTICE] Transferred directory metadata /datasync-test 2022-06-29T08:18:31.596+09:00 [NOTICE] Transferred directory metadata /aws-backup-test 2022-06-29T08:18:31.889+09:00 [NOTICE] Verified directory / 2022-06-29T08:18:31.889+09:00 [NOTICE] Verified file /aws-backup-test/aws-backup-test.txt, 36 bytes 2022-06-29T08:18:31.889+09:00 [NOTICE] Verified file /datasync-test/datasync-test_000.txt, 21 bytes 2022-06-29T08:18:31.889+09:00 [NOTICE] Verified file /datasync-test/datasync-test_001.txt, 21 bytes 2022-06-29T08:18:31.889+09:00 [NOTICE] Verified file /datasync-test/datasync-test_002.txt, 21 bytes 2022-06-29T08:18:31.889+09:00 [NOTICE] Verified file /datasync-test/datasync-test_003.txt, 21 bytes 2022-06-29T08:18:31.889+09:00 [NOTICE] Verified file /datasync-test/datasync-test_004.txt, 21 bytes 2022-06-29T08:18:31.889+09:00 [NOTICE] Verified file /datasync-test/datasync-test_005.txt, 21 bytes 2022-06-29T08:18:31.889+09:00 [NOTICE] Verified file /datasync-test/datasync-test_006.txt, 21 bytes 2022-06-29T08:18:31.889+09:00 [NOTICE] Verified file /datasync-test/datasync-test_007.txt, 21 bytes 2022-06-29T08:18:31.977+09:00 [NOTICE] Verified file /datasync-test/datasync-test_008.txt, 21 bytes 2022-06-29T08:18:31.977+09:00 [NOTICE] Verified file /datasync-test/datasync-test_009.txt, 21 bytes 2022-06-29T08:18:31.977+09:00 [NOTICE] Verified file /datasync-test/datasync-test_010.txt, 21 bytes 2022-06-29T08:18:32.366+09:00 [INFO] Execution exec-0f82dc5ede24ddfc0 finished with status Success.
ファイルのコピーと検証が行われたことが分かります。
なお、*._010.txt
を除外パターンに追加したにも関わらずdatasync-test_010.txt
もコピーされていますが、これは私が除外パターンを間違えてしまったためです。*_010.txt
とすべきところを*._010.txt
と[*]の後ろに[.]を余計につけていました。
S3バケットからもファイルがコピーされたことを確認します。
S3バケットのオブジェクト一覧を確認すると、確かにSMB共有配下のフォルダ、ファイルがコピーされていそうです。ただ、スナップショットファイルはコピーされていないようですね。
除外条件を設定してタスクを実行
除外条件を間違えてしまったので、修正して再実行します。
まず、新しくテスト用ファイルを作成します。
PS Z:\datasync-test> (11..20) | foreach{ $format = "{0:000}" -f $_ $fileName = "datasync-test_$format.txt" $value = @" datasync-test_$format "@ New-Item -path . -ItemType "file" -Name $fileName -Value "$value" } ディレクトリ: Z:\datasync-test Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 2022/06/28 23:24 21 datasync-test_011.txt -a---- 2022/06/28 23:24 21 datasync-test_012.txt -a---- 2022/06/28 23:24 21 datasync-test_013.txt -a---- 2022/06/28 23:24 21 datasync-test_014.txt -a---- 2022/06/28 23:24 21 datasync-test_015.txt -a---- 2022/06/28 23:24 21 datasync-test_016.txt -a---- 2022/06/28 23:24 21 datasync-test_017.txt -a---- 2022/06/28 23:24 21 datasync-test_018.txt -a---- 2022/06/28 23:24 21 datasync-test_019.txt -a---- 2022/06/28 23:24 21 datasync-test_020.txt
タスクの再実行をします。
除外設定を変更して実行したいので、スタート
-オプションを上書きして開始する
をクリックします。
除外パターンとして*_015.txt
と*_018.txt
を設定し、スタート
をクリックします。
数分ほど待つと実行ステータスが成功
になりました。
CloudWatch Logsに出力されたログを確認してみます。
2022-06-29T08:26:22.556+09:00 [INFO] Request to start task-017f03c7f86b7902d. 2022-06-29T08:28:26.286+09:00 [INFO] Execution exec-0b0db415022c86172 started. 2022-06-29T08:28:26.299+09:00 [INFO] Started logging in destination hostId: host-009a1c657a25840c1 for Execution exec-0b0db415022c86172 2022-06-29T08:28:26.469+09:00 [INFO] Started logging in destination hostId: host-055bc5ba7d10f1160 for Execution exec-0b0db415022c86172 2022-06-29T08:28:29.470+09:00 [NOTICE] Transferred file /datasync-test/datasync-test_019.txt, 21 bytes 2022-06-29T08:28:29.478+09:00 [NOTICE] Transferred file /datasync-test/datasync-test_020.txt, 21 bytes 2022-06-29T08:28:29.479+09:00 [NOTICE] Transferred file /datasync-test/datasync-test_014.txt, 21 bytes 2022-06-29T08:28:29.479+09:00 [NOTICE] Transferred file /datasync-test/datasync-test_011.txt, 21 bytes 2022-06-29T08:28:29.479+09:00 [NOTICE] Transferred file /datasync-test/datasync-test_012.txt, 21 bytes 2022-06-29T08:28:29.479+09:00 [NOTICE] Transferred file /datasync-test/datasync-test_017.txt, 21 bytes 2022-06-29T08:28:29.479+09:00 [NOTICE] Transferred file /datasync-test/datasync-test_016.txt, 21 bytes 2022-06-29T08:28:29.479+09:00 [NOTICE] Transferred file /datasync-test/datasync-test_013.txt, 21 bytes 2022-06-29T08:28:29.761+09:00 [NOTICE] Transferred directory metadata /datasync-test 2022-06-29T08:28:30.035+09:00 [NOTICE] Verified directory / 2022-06-29T08:28:30.035+09:00 [NOTICE] Verified file /datasync-test/datasync-test_019.txt, 21 bytes 2022-06-29T08:28:30.035+09:00 [NOTICE] Verified file /datasync-test/datasync-test_011.txt, 21 bytes 2022-06-29T08:28:30.035+09:00 [NOTICE] Verified file /datasync-test/datasync-test_012.txt, 21 bytes 2022-06-29T08:28:30.035+09:00 [NOTICE] Verified file /datasync-test/datasync-test_013.txt, 21 bytes 2022-06-29T08:28:30.035+09:00 [NOTICE] Verified file /datasync-test/datasync-test_014.txt, 21 bytes 2022-06-29T08:28:30.035+09:00 [NOTICE] Verified file /datasync-test/datasync-test_016.txt, 21 bytes 2022-06-29T08:28:30.035+09:00 [NOTICE] Verified file /datasync-test/datasync-test_017.txt, 21 bytes 2022-06-29T08:28:30.035+09:00 [NOTICE] Verified file /datasync-test/datasync-test_020.txt, 21 bytes 2022-06-29T08:28:30.499+09:00 [INFO] Execution exec-0b0db415022c86172 finished with status Success.
datasync-test_015.txt
とdatasync-test_018.txt
以外のファイルのコピーと検証が行われたことが分かります。
また、変更されたデータのみを転送するようにしているので、datasync-test_000.txt
など先の検証でコピーしたファイルはコピーされていないようです。
S3にアクセスするルートがない状態でタスクを実行
FSX for ONTAPファイルシステムがあるVPCには、S3のGateway型VPCエンドポイントがあります。このVPCエンドポイントを削除した状態でも、S3にファイルをコピーできるか確認します。
S3のGateway型VPCエンドポイントを選択して、ルートテーブル
タブ-ルートテーブルを管理
をクリックします。
全てのルートテーブルとの関連付けを解除したいので、全てのチェックを外してルートテーブルの変更
をクリックします。
S3のGateway型VPCエンドポイントが関連付いているルートテーブルがなくなったことを確認します。
元々、FSx for ONTAPファイルシステムのサブネットclassmethod-dev-private-subnet01
にはNAT GatewayやInternet Gatewayへのルートがなく、DataSyncのVPCエンドポイントも存在しないので、S3に抜けるルートは完全になくなりました。
次に、テスト用ファイルを更新します。
変更されたデータのみを転送する設定が正しく動作しているか確認するために、コピー済みファイルのdatasync-test_000.txt
を更新します。
# フォルダ内のファイルを確認 PS z:\datasync-test> ls ディレクトリ: z:\datasync-test Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 2022/06/28 22:50 21 datasync-test_000.txt -a---- 2022/06/28 22:50 21 datasync-test_001.txt -a---- 2022/06/28 22:50 21 datasync-test_002.txt -a---- 2022/06/28 22:50 21 datasync-test_003.txt -a---- 2022/06/28 22:50 21 datasync-test_004.txt -a---- 2022/06/28 22:50 21 datasync-test_005.txt -a---- 2022/06/28 22:50 21 datasync-test_006.txt -a---- 2022/06/28 22:50 21 datasync-test_007.txt -a---- 2022/06/28 22:50 21 datasync-test_008.txt -a---- 2022/06/28 22:50 21 datasync-test_009.txt -a---- 2022/06/28 22:50 21 datasync-test_010.txt -a---- 2022/06/28 23:24 21 datasync-test_011.txt -a---- 2022/06/28 23:24 21 datasync-test_012.txt -a---- 2022/06/28 23:24 21 datasync-test_013.txt -a---- 2022/06/28 23:24 21 datasync-test_014.txt -a---- 2022/06/28 23:24 21 datasync-test_015.txt -a---- 2022/06/28 23:24 21 datasync-test_016.txt -a---- 2022/06/28 23:24 21 datasync-test_017.txt -a---- 2022/06/28 23:24 21 datasync-test_018.txt -a---- 2022/06/28 23:24 21 datasync-test_019.txt -a---- 2022/06/28 23:24 21 datasync-test_020.txt # datasync-test_000.txt に書き込まれている内容を確認 PS z:\datasync-test> cat datasync-test_000.txt datasync-test_000 # datasync-test_000.txt を上書き PS z:\datasync-test> echo "testtest" > datasync-test_000.txt # datasync-test_000.txt を上書きされたことを確認 PS z:\datasync-test> cat datasync-test_000.txt testtest
この状態でタスクを再実行します。
タスクが完了した後、CloudWatch Logsに出力されたログを確認してみます。
2022-06-29T08:44:55.571+09:00 [INFO] Request to start task-017f03c7f86b7902d. 2022-06-29T08:47:25.935+09:00 [INFO] Started logging in destination hostId: host-0b8a0e85a55c40c2b for Execution exec-0e8860567880dc469 2022-06-29T08:47:27.247+09:00 [INFO] Execution exec-0e8860567880dc469 started. 2022-06-29T08:47:31.206+09:00 [NOTICE] Transferred file /datasync-test/datasync-test_000.txt, 22 bytes 2022-06-29T08:47:31.206+09:00 [NOTICE] Transferred file /datasync-test/datasync-test_018.txt, 21 bytes 2022-06-29T08:47:31.617+09:00 [NOTICE] Transferred file /datasync-test/datasync-test_015.txt, 21 bytes 2022-06-29T08:47:32.133+09:00 [NOTICE] Verified file /datasync-test/datasync-test_015.txt, 21 bytes 2022-06-29T08:47:32.134+09:00 [NOTICE] Verified directory / 2022-06-29T08:47:32.134+09:00 [NOTICE] Verified file /datasync-test/datasync-test_000.txt, 22 bytes 2022-06-29T08:47:32.134+09:00 [NOTICE] Verified file /datasync-test/datasync-test_018.txt, 21 bytes 2022-06-29T08:47:32.657+09:00 [INFO] Execution exec-0e8860567880dc469 finished with status Success
更新したファイルdatasync-test_000.txt
と、先ほどの検証で除外していたdatasync-test_015.txt
とdatasync-test_018.txt
のコピーと検証が行われたことが分かります。
S3へのアクセス経路を持たないFSx for ONTAPファイルシステムからS3バケットにファイルをコピーできたところから、コピーにはAWSのバックボーンネットワークを使っていそうですね。
S3バケットからもファイルがコピーされたことを確認します。
更新したファイルdatasync-test_000.txt
と、先ほどの検証で除外していたdatasync-test_015.txt
とdatasync-test_018.txt
のみ最終更新日時が変わっていることが分かります。
S3バケットからFSx for ONTAPファイルシステムへのファイルコピー
最後に、S3バケットからFSx for ONTAPファイルシステムへのファイルコピーができることも確認します。
まず、FSx for ONTAPファイルシステムのSMB共有内の一部ファイルを削除します。
# Z:\datasync-test 配下の datasync-test_* のファイルを削除 PS z:\datasync-test> rm .\datasync-test_* # ファイルが削除されたことを確認 PS z:\datasync-test> ls
送信元と送信先を入れ替えたタスクを新規に作成します。
既にロケーションは存在しているので、既存のロケーションを選択していきます。
タスクの設定はデフォルトのままにします。
設定内容を確認して、タスクを作成する
をクリックします。
タスクが作成されてことを確認して、スタート
-デフォルトから開始する
をクリックします。
タスクが完了した後、CloudWatch Logsに出力されたログを確認してみます。
2022-06-29T08:54:25.324+09:00 [INFO] Request to start task-014e6490435b2f0ab. 2022-06-29T08:56:15.177+09:00 [INFO] Started logging in destination hostId: host-0343357f5ff491d32 for Execution exec-0c529112e40f6b4a7 2022-06-29T08:56:15.210+09:00 [INFO] Started logging in destination hostId: host-0ae4b70b0ee8074c5 for Execution exec-0c529112e40f6b4a7 2022-06-29T08:56:16.709+09:00 [INFO] Execution exec-0c529112e40f6b4a7 started. 2022-06-29T08:56:20.354+09:00 [INFO] Execution exec-0c529112e40f6b4a7 finished with status Success.
コピーが完了したようですね。
FSx for ONTAPファイルシステムのSMB共有を確認します。
# S3バケット上のファイルがコピーされたことを確認 PS z:\datasync-test> ls ディレクトリ: z:\datasync-test Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 2022/06/28 23:43 22 datasync-test_000.txt -a---- 2022/06/28 22:50 21 datasync-test_001.txt -a---- 2022/06/28 22:50 21 datasync-test_002.txt -a---- 2022/06/28 22:50 21 datasync-test_003.txt -a---- 2022/06/28 22:50 21 datasync-test_004.txt -a---- 2022/06/28 22:50 21 datasync-test_005.txt -a---- 2022/06/28 22:50 21 datasync-test_006.txt -a---- 2022/06/28 22:50 21 datasync-test_007.txt -a---- 2022/06/28 22:50 21 datasync-test_008.txt -a---- 2022/06/28 22:50 21 datasync-test_009.txt -a---- 2022/06/28 22:50 21 datasync-test_010.txt -a---- 2022/06/28 23:24 21 datasync-test_011.txt -a---- 2022/06/28 23:24 21 datasync-test_012.txt -a---- 2022/06/28 23:24 21 datasync-test_013.txt -a---- 2022/06/28 23:24 21 datasync-test_014.txt -a---- 2022/06/28 23:24 21 datasync-test_015.txt -a---- 2022/06/28 23:24 21 datasync-test_016.txt -a---- 2022/06/28 23:24 21 datasync-test_017.txt -a---- 2022/06/28 23:24 21 datasync-test_018.txt -a---- 2022/06/28 23:24 21 datasync-test_019.txt -a---- 2022/06/28 23:24 21 datasync-test_020.txt # 削除していないファイルについては上書きコピーされなかったことを確認 PS z:\datasync-test> ls ..\aws-backup-test\aws-backup-test.txt ディレクトリ: z:\aws-backup-test Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 2022/05/25 0:23 36 aws-backup-test.txt
削除したファイルについてはS3バケット上のファイルがコピーされ、削除していないファイルについては上書きコピーされなかったことを確認できました。
FSx for ONTAPと様々なリソース間のデータ連携が簡単にできるようになりました
AWS DataSyncがAmaozn FSx for NetApp ONTAPをサポートしたアップデートを紹介しました。
今回のアップデートでFSx for ONTAPと様々なリソース間のデータ連携が簡単にできるようになったと思います。今回はS3バケットを送信元/送信先にしましたが、FSx for Windows File Serverからの移行なんかにも使えそうですね。
この記事が誰かの助けになれば幸いです。
以上、AWS事業本部 コンサルティング部の のんピ(@non____97)でした!